
//
//  NSDate+SinaDate.swift
//  sinaWeiBoGui
//
//  Created by liyonggui on 16/5/20.
//  Copyright © 2016年 liyonggui. All rights reserved.
//

import Foundation


extension NSDate {
    
    
    class func date(sinaDateString: String) -> NSDate {
        
        let df = NSDateFormatter()
        // 设置字符串格式
        df.dateFormat = "EEE MMM dd HH:mm:ss zzz yyyy"
        // 真机必须指定
        df.locale = NSLocale(localeIdentifier: "EN")
        
        let date = df.dateFromString(sinaDateString)
        
        return date ?? NSDate()
    }
    
    /// 使用转好的新浪时间来调用这个方法
    func sinaDateDescription() -> String
    {
        // 时间比较 NSCalendar
        let calendar = NSCalendar.currentCalendar()
        // 判断是否是今天
        if calendar.isDateInToday(self)
        {
            // 获取当前时间和新浪时间相差的秒数
            let delta = Int(NSDate().timeIntervalSinceDate(self))
            
            // 一分钟内
            if delta < 60
            {
                return "刚刚"
            }
            else if delta < 60 * 60
            {
                // 一小时内
                return "\(delta / 60)分钟前"
            } else
            {
                // 当天
                return "\(delta / 60 / 60)小时前"
            }
        }
        
        // 转成指定格式的时间字符串
        let df = NSDateFormatter()
        
        var dateFormat = ""
        // 判断昨天
        if calendar.isDateInYesterday(self) {
            dateFormat = "昨天 HH:mm"
        } else if  calendar.compareDate(self, toDate: NSDate(), toUnitGranularity: NSCalendarUnit.Year) == NSComparisonResult.OrderedSame {
            // 一年内
            dateFormat = "MM-dd HH:mm"
        } else {
            dateFormat = "yyyy-MM-dd HH:mm"
        }
        // 设置格式
        df.dateFormat = dateFormat
        
        return df.stringFromDate(self)
    }
    
    
}




























